<!DOCTYPE html>
<html>

  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<meta http-equiv="Cache-Control" content="no-siteapp" />

    <title>xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持</title>
    <meta name="description" content="xmake 是一个基于 Lua 的轻量级跨平台构建工具，使用 xmake.lua 维护项目构建，相比 makefile/CMakeLists.txt，配置语法更加简洁直观，对新手非常友好，短时间内就能快速入门，能够让用户把更多的精力集中在实际的项目开发上。随着 xmake 最近几年不断的迭代发展，xmake 已经...">

    
    <meta name="keywords" content="xmake,lua,C/C++,toolchains,tinyc,emscripten,qt,cuda,tboox" /> 

    <!-- qq oauth -->
    <meta property="qc:admins" content="5211601217706727767255" />

    <!--icon -->
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" sizes="192x192" href="/static/img/nice-highres.png" />
	<link rel="apple-touch-icon-precomposed" href="/static/img/apple-touch-icon-57x57-precomposed.png" />
	<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/static/img/apple-touch-icon-72x72-precomposed.png" />
	<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/static/img/apple-touch-icon-114x114-precomposed.png" />
	<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/static/img/apple-touch-icon-144x144-precomposed.png" />
	<link rel="apple-touch-icon-precomposed" sizes="180x180" href="/static/img/retinahd_icon.png" />
	<meta name="msapplication-TileImage" content="/static/img/retinahd_icon.png" />
	
    <link rel="stylesheet" href=" /css/fontawesome/css/font-awesome.min.css ">
    <link rel="stylesheet" href=" /css/main.css ">
    <link rel="canonical" href="https://tboox.org/cn/2020/09/14/xmake-update-v2.3.7/">
    <link rel="alternate" type="application/rss+xml" title="TBOOX Open Source Project" href="https://tboox.org/feed.xml ">
    <link rel="alternate" hreflang="en" href="https://tboox.org/" />
    <link rel="alternate" hreflang="zh-Hans" href="https://tboox.org/cn/" />

    <!-- css -->
    <link href="/css/reward.css" rel="stylesheet" type="text/css"> 




    <script type="text/javascript">
    function isPC(){    
        var userAgentInfo = navigator.userAgent;  
        var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");    
        var flag = true;    
        for (var v = 0; v < Agents.length; v++) {    
            if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; }    
        }    
        return flag;    
    }
    </script>

<!-- baidu ads -->



    <!-- baidu ads -->

</head>


  <body>

    <header id="top">
    <div class="wrapper">
        <a href="/cn" class="brand">TBOOX</a>
        <button id="headerMenu" class="menu"><i class="fa fa-bars"></i></button>
        <nav id="headerNav">
            <ul>
                <li>
                    
                    <a href="/?lang=0">
                    
                        <i class="fa fa-home"></i>English
                    </a>
                </li>

                
                    
                    
                    <li>
                        
                            
                            <a href="/cn/project/">
                            
                        
                            <i class="fa fa-bookmark"></i>项目
                        </a>
                    </li>
                    
                    
                
                    
                    
                    
                
                    
                    
                    <li>
                        
                            
                            <a href="/cn/archive/">
                            
                        
                            <i class="fa fa-archive"></i>归档
                        </a>
                    </li>
                    
                    
                
                    
                    
                    
                
                    
                    
                    <li>
                        
                            
                            <a href="/cn/category/">
                            
                        
                            <i class="fa fa-th-list"></i>分类
                        </a>
                    </li>
                    
                    
                
                    
                    
                    
                
                    
                    
                    <li>
                        
                            
                            <a href="/cn/tag/">
                            
                        
                            <i class="fa fa-tags"></i>标记
                        </a>
                    </li>
                    
                    
                
                    
                    
                    
                
                    
                
                    
                    
                    <li>
                        
                            
                            <a href="/cn/docs/">
                            
                        
                            <i class="fa fa-book"></i>文档
                        </a>
                    </li>
                    
                    
                
                    
                    
                    
                
                    
                    
                    <li>
                        
                            
                            <a href="https://xmake.io/#/zh-cn/about/contact" target="_blank" >
                            
                        
                            <i class="fa fa-forumbee"></i>社区
                        </a>
                    </li>
                    
                    
                
                    
                    
                    
                
                    
                    
                    <li>
                        
                            
                            <a href="/cn/donation/">
                            
                        
                            <i class="fa fa-heart"></i>捐助
                        </a>
                    </li>
                    
                    
                
                    
                    
                    
                
                    
                    
                    <li>
                        
                            
                            <a href="/cn/about/">
                            
                        
                            <i class="fa fa-user"></i>关于
                        </a>
                    </li>
                    
                    
                
                    
                    
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                    
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            </ul>
        </nav>
    </div>
</header>



        <div class="page clearfix" post>
    <div class="left">
        <h1>xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持</h1>
        <div class="label">

            <div class="label-card">
                <i class="fa fa-calendar"></i>2020-09-14
            </div>

            <div class="label-card">
                
            </div>

            <div class="label-card">
                
            </div>

            <div class="label-card">
            


<!-- <span class="point">•</span> -->
<span class="categories">
  <i class="fa fa-th-list"></i>
  
    
        <a href="/category/#xmake" title="Category: xmake" rel="category">xmake</a>
    
  

  <!-- <span class="point">•</span> -->
</span>


            </div>

            <div class="label-card">
            
<!-- <span class="point">•</span> -->
<span class="pageTag">
  <i class="fa fa-tags"></i>
  
    
        <!--a href="/tag/#xmake" title="Tag: xmake" rel="tag">xmake</a-->
        <a href="/cn/tag/#xmake" title="Tag: xmake" rel="tag">xmake</a>&nbsp;
    
        <!--a href="/tag/#lua" title="Tag: lua" rel="tag">lua</a-->
        <a href="/cn/tag/#lua" title="Tag: lua" rel="tag">lua</a>&nbsp;
    
        <!--a href="/tag/#C%2FC%2B%2B" title="Tag: C/C++" rel="tag">C/C++</a-->
        <a href="/cn/tag/#C/C++" title="Tag: C/C++" rel="tag">C/C++</a>&nbsp;
    
        <!--a href="/tag/#toolchains" title="Tag: toolchains" rel="tag">toolchains</a-->
        <a href="/cn/tag/#toolchains" title="Tag: toolchains" rel="tag">toolchains</a>&nbsp;
    
        <!--a href="/tag/#tinyc" title="Tag: tinyc" rel="tag">tinyc</a-->
        <a href="/cn/tag/#tinyc" title="Tag: tinyc" rel="tag">tinyc</a>&nbsp;
    
        <!--a href="/tag/#emscripten" title="Tag: emscripten" rel="tag">emscripten</a-->
        <a href="/cn/tag/#emscripten" title="Tag: emscripten" rel="tag">emscripten</a>&nbsp;
    
        <!--a href="/tag/#qt" title="Tag: qt" rel="tag">qt</a-->
        <a href="/cn/tag/#qt" title="Tag: qt" rel="tag">qt</a>&nbsp;
    
        <!--a href="/tag/#cuda" title="Tag: cuda" rel="tag">cuda</a-->
        <a href="/cn/tag/#cuda" title="Tag: cuda" rel="tag">cuda</a>
    
  

</span>

            </div>

        </div>
        <hr>
        <article itemscope itemtype="http://schema.org/BlogPosting">
        <p><a href="https://github.com/xmake-io/xmake">xmake</a> 是一个基于 Lua 的轻量级跨平台构建工具，使用 xmake.lua 维护项目构建，相比 makefile/CMakeLists.txt，配置语法更加简洁直观，对新手非常友好，短时间内就能快速入门，能够让用户把更多的精力集中在实际的项目开发上。</p>

<p>随着 xmake 最近几年不断的迭代发展，xmake 已经在 Github 收获 2.9K star，300+ fork，30+ 贡献者，并且处理了 900+ issues，5400+ Commits，活跃用户也在不断增长。</p>

<p><img src="https://tboox.org/static/img/xmake/star-history.png" alt="" /></p>

<p>现在，xmake v2.3.7 版本发布了，在新版本中，我们主要完善了 xmake 自身的稳定性和兼容性，通过两个月的不断迭代，修复了很多用户反馈的各种使用问题，使用体验和稳定性有了很大的提升。</p>

<p>另外，我们在这个版本中也新增对 TinyC 和 Emscripten (WebAssembly) 编译工具链的支持。</p>

<p>尤其是针对 windows 平台，我们提供了额外的 xmake-tinyc 安装包，里面内置了 tinyc 编译器，使得用户可以完全脱离臃肿的 vs 环境，一键安装，开箱即用，只需要 5M 的安装包即可开发简单的 C 程序，同时还自带了整套 winapi 头文件。</p>

<p>最后，我们还改进了 trybuild 模式编译，通过 xmake 可以快速编译 autotools/cmake 维护的第三方项目，并且可以快速对接 android/ios/mingw等交叉编译环境，实现快速移植编译。</p>

<ul>
  <li><a href="https://github.com/xmake-io/xmake">项目源码</a></li>
  <li><a href="https://xmake.io/#/zh-cn/">官方文档</a></li>
</ul>

<h2 id="新特性介绍">新特性介绍</h2>

<h3 id="更加多样的安装方式">更加多样的安装方式</h3>

<p>新版本中，我们将 xmake 安装包提交到了 windows winget 以及 ubuntu ppa 仓库，我们可以更加方便快捷地安装 xmake。</p>

<h4 id="winget-安装">Winget 安装</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>winget install xmake
</code></pre>
</div>

<h4 id="ubuntu-ppa-安装">Ubuntu PPA 安装</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>sudo add-apt-repository ppa:xmake-io/xmake
sudo apt update
sudo apt install xmake
</code></pre>
</div>

<p>当然，我们还支持很多其他的安装方式，对于其他平台的详细安装方式见：<a href="https://xmake.io/#/zh-cn/guide/installation">安装文档</a>。</p>

<h3 id="更加丰富的工具链支持">更加丰富的工具链支持</h3>

<p>当前我们已经支持非常多的工具链环境，而在这个版本中，我们又新增了 TinyC 和 Emscripten (WebAssembly) 编译工具链的支持，我们可以通过下面的命令快速切换到对应的工具链来编译。</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>xmake f --toolchain<span class="o">=[</span>tinyc|emscripten]
xmake
</code></pre>
</div>

<p>我们还在新版本中，额外提供了两个安装包，内置集成了 TinyC 编译环境，整个安装包只需要 5M，还包含了 winsdk api。</p>

<p>安装包可以在 xmake 的 github/releases 目录下找到。</p>

<ul>
  <li><a href="https://github.com/xmake-io/xmake/releases/download/v2.3.7/xmake-tinyc-v2.3.7.win64.exe">xmake-tinyc-v2.3.7.win64.exe</a></li>
  <li><a href="https://github.com/xmake-io/xmake/releases/download/v2.3.7/xmake-tinyc-v2.3.7.win32.exe">xmake-tinyc-v2.3.7.win32.exe</a></li>
</ul>

<p>通过这个安装包，我们编译开发 C 程序就可以完全摆脱臃肿的 vs 开发环境（好几个 G），实现一键安装，开箱即用，对于我们平常刷刷 leetcode，写点 C 测试代码还是非常有用的，没必要为此特定安装整个 vs 进来。</p>

<p>另外，如果我们要查看 xmake 支持的所有工具链，可以执行下面的命令，另外 <code class="highlighter-rouge">xmake f -p cross --sdk=/xxx</code> 的编译配置可以支持更多通用的交叉工具链。</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake show -l toolchains
xcode         Xcode IDE
vs            VisualStudio IDE
yasm          The Yasm Modular Assembler
clang         A C language family frontend <span class="k">for </span>LLVM
go            Go Programming Language Compiler
dlang         D Programming Language Compiler
gfortran      GNU Fortran Programming Language Compiler
zig           Zig Programming Language Compiler
sdcc          Small Device C Compiler
cuda          CUDA Toolkit
ndk           Android NDK
rust          Rust Programming Language Compiler
llvm          A collection of modular and reusable compiler and toolchain technologies
cross         Common cross compilation toolchain
nasm          NASM Assembler
gcc           GNU Compiler Collection
mingw         Minimalist GNU <span class="k">for </span>Windows
gnu-rm        GNU Arm Embedded Toolchain
envs          Environment variables toolchain
fasm          Flat Assembler
tinyc         Tiny C Compiler
emcc          A toolchain <span class="k">for </span>compiling to asm.js and WebAssembly
</code></pre>
</div>

<h3 id="trybuild-编译模式改进">TryBuild 编译模式改进</h3>

<p>所谓 trybuild 模式，就是 xmake 推出的一个适配现有第三方构建系统的特性，因为现在大部分已有的第三方项目都是用 autotools/cmake 等第三方构建系统维护的，如果将它们迁移到 xmake 配置那么迁移成本还是比较高的。</p>

<p>虽然 xmake 的配置编写非常简单上手，但也没必要对已经稳定维护的项目去大改构建系统，xmake 主要还是用于一些新项目的构建维护。</p>

<p>基于此背景，xmake 采用 trybuild 编译模式，也就是所谓的尝试编译模式，通过自动探测第三方项目的构建系统，如果检测到是 autotools 维护的项目，那么自动调用 <code class="highlighter-rouge">./configure; make</code> 来编译。</p>

<p>如果检测到是用 cmake 维护的项目，那么自动调用 cmake 来生成 makefile/build.ninja 来编译，对于使用 xmake 的用户而言，始终只是执行 xmake 这一个命令就可以完成编译，例如：</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake
note: configure found, try building it or you can run <span class="sb">`</span>xmake f --trybuild<span class="o">=</span><span class="sb">`</span> to <span class="nb">set </span>buildsystem <span class="o">(</span>pass -y or --confirm<span class="o">=</span>y/n/d to skip confirm<span class="o">)</span>?
please input: y <span class="o">(</span>y/n<span class="o">)</span>
y
  ...
  CC       src/pcre2grep-pcre2grep.o
  CC       src/libpcre2_8_la-pcre2_auto_possess.lo
  CC       src/libpcre2_8_la-pcre2_config.lo
  ...
build ok!
</code></pre>
</div>

<p>xmake检测到 autotools 构建系统后，就会提示用户是否需要尝试调用 autotools 来编译，输入y确认后，就可以直接完成编译，对于 cmake 的项目也是，只需要执行相同的 <code class="highlighter-rouge">xmake</code> 命令即可。</p>

<p>而不需要关心 autotools/cmake 需要如何去配置使用和编译，毕竟 cmake 对于 windows 和 linux 平台，需要生成不同的构建文件，编译方式也是不同的，一会调用 make，一会调用 msbuild，看着就头大。</p>

<p>不仅如此，xmake 还对接了 <code class="highlighter-rouge">xmake -r</code> 来直接重新编译，对接 <code class="highlighter-rouge">xmake clean</code> 实现统一的文件清理，对接 <code class="highlighter-rouge">xmake -v</code> 实现统一的详细编译命令的查看。</p>

<h4 id="trybuild-的交叉编译支持">TryBuild 的交叉编译支持</h4>

<p>如果只是当前主机平台的编译，也许你们会说，这有啥，cmake 也有 <code class="highlighter-rouge">cmake --build .</code> 来直接编译，并不怎么麻烦么。</p>

<p>那么问题来了，交叉编译怎么搞？如果你们用过 autotools/cmake 去交叉编译生成 mingw/android/ios 的目标程序，cmake 和 autotools 还能够简单一致的处理么？</p>

<p>autotools 不多说，反正我是对它的交叉体验是深恶痛绝的，每次交叉编译移植一个带有 autotools 项目的代码，都要折腾半天，经常要包各种错误，研究各种配置参数的传递，不同平台的配置还不同。</p>

<p>而 cmake 我感觉用起来也不省事，比如对于 Android 平台得这样搞：</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>cmake <span class="se">\</span>
    -DCMAKE_TOOLCHAIN_FILE<span class="o">=</span><span class="nv">$NDK</span>/build/cmake/android.toolchain.cmake <span class="se">\</span>
    -DANDROID_ABI<span class="o">=</span><span class="nv">$ABI</span> <span class="se">\</span>
    -DANDROID_NATIVE_API_LEVEL<span class="o">=</span><span class="nv">$MINSDKVERSION</span> <span class="se">\</span>
    <span class="nv">$OTHER_ARGS</span>
</code></pre>
</div>

<p>而对于 ios 平台，没找到简答的配置方式，就找到个第三方的 ios 工具链配置，很复杂：https://github.com/leetal/ios-cmake/blob/master/ios.toolchain.cmake</p>

<p>对于 mingw 又是另外一种方式，我又折腾了半天环境，很是折腾。</p>

<p>那如果使用 xmake 去对接 cmake 实现交叉编译呢，只需要这样。</p>

<p>编译 android 程序：</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>xmake f -p android --trybuild<span class="o">=</span>cmake --ndk<span class="o">=</span>/xxx
xmake
</code></pre>
</div>

<p>编译 ios 程序：</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>xmake f -p iphoneos --trybuild<span class="o">=</span>cmake
xmake
</code></pre>
</div>

<p>编译 mingw 程序：</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>xmake f -p mingw --trybuild<span class="o">=</span>cmake --mingw<span class="o">=</span>/sdk/xxx
xmake
</code></pre>
</div>

<p>我们只需要配置的时候，通过 <code class="highlighter-rouge">--trybuild=cmake</code> 启用 cmake 的尝试编译模式，然后通过 <code class="highlighter-rouge">-p android/iphoneos/mingw</code> 切到对应的平台，对接对应的sdk，就可以使用相同的方式来快速实现交叉编译，哪怕这个项目是使用 cmake 来维护的。</p>

<p>用户不需要关系如果使用 cmake 去传递不同工具链的配置，xmake 都帮你自动处理了，你只需要简单的执行 xmake 来编译，也可以执行 <code class="highlighter-rouge">xmake -r</code> 来重编，或者查看编译详情 <code class="highlighter-rouge">xmake -v</code>。</p>

<p>另外，还可以通过 <code class="highlighter-rouge">xmake f -p iphoneos -a arm64 --trybuild=cmake</code> 快速的切换编译架构。</p>

<p>最后，我们需要说明的是，虽然 trybuild 模式可以极大帮助用户节省编译和配置操作，但是如果条件运行，我们还是希望大家能够直接使用 xmake.lua 来维护自己的项目。</p>

<p>这样，就不需要走 trybuild 编译了，xmake 会更加完美的支持交叉编译，因为内部 xmake 会直接去编译项目，而不需要在调用 cmake、autotools 等工具了，例如：</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>xmake f -p iphoneos
xmake
</code></pre>
</div>

<p>或者</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>xmake f -p android --ndk<span class="o">=</span>/xxx
xmake
</code></pre>
</div>

<p>可以看到，这回我们省去了 <code class="highlighter-rouge">--trybuild=cmake</code> 参数，因为不需要了，我们是直接编译的，这个时候 xmake 相当于独立的 make/ninja，并且完全不依赖 make，编译速度也可以完全媲美 ninja。</p>

<h3 id="改进远程依赖包的集成">改进远程依赖包的集成</h3>

<h4 id="交叉编译支持">交叉编译支持</h4>

<p>xmake 不仅对 trybuild 支持了 mingw/autotools 的交叉编译支持，还对远程包仓库中使用 cmake/autotools 维护的第三方也支持上了交叉编译安装和集成。</p>

<p>例如：</p>

<div class="language-lua highlighter-rouge"><pre class="highlight"><code><span class="n">add_requires</span><span class="p">(</span><span class="s2">"pcre2"</span><span class="p">)</span>

<span class="n">target</span><span class="p">(</span><span class="s2">"test"</span><span class="p">)</span>
    <span class="n">set_kind</span><span class="p">(</span><span class="s2">"binary"</span><span class="p">)</span>
    <span class="n">add_files</span><span class="p">(</span><span class="s2">"src/*.cpp"</span><span class="p">)</span>
    <span class="n">add_packages</span><span class="p">(</span><span class="s2">"pcre2"</span><span class="p">)</span>
</code></pre>
</div>

<p>然后通过切换到 iphoneos 平台，就可以快速集成安装 iphoneos 平台的 pcre2 包，然后编译链接它，哪怕这个 pcre2 包是通过 autotools/cmake 维护的。</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>xmake f -p iphoneos
xmake
</code></pre>
</div>

<h4 id="私有网络包仓库">私有网络包仓库</h4>

<p>这个版本中，我们对远程依赖包的集成也稍微做了一些改进，比如可以通过配置 <code class="highlighter-rouge">xmake g --network=private</code> 切到私有网络模式。</p>

<p>这个主要用于一些公司内部网络通过 xmake 自建的包管理仓库，实现封闭式的 C/C++ 依赖包集成，完全不会从 xmake 提供的官方仓库下来依赖包。</p>

<h4 id="递归导出安装的包">递归导出安装的包</h4>

<p>xmake 之前提供了一个命令，可以导出通过 xmake 安装的所有第三方依赖包。</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>xmake require --export
</code></pre>
</div>

<p>但是，之前的版本对应一些存在依赖的包，导出时候只会导出自身，它的所有依赖是不会被导出的，而这个版本中，我们对其进行了改进，将对应的所有依赖包也进行了导出。</p>

<h3 id="改进对-qt-sdk-环境的支持">改进对 Qt SDK 环境的支持</h3>

<p>另外，这个版本我们还对 Qt SDK 的工具链环境进行了更好的支持，比如 ubuntu 系统下通过 apt 命令安装的 Qt SDK 工具链也进行了支持，而之前的版本只能支持从 Qt 官网下载安装的 Qt SDK 环境。</p>

<h2 id="更新内容">更新内容</h2>

<h3 id="新特性">新特性</h3>

<ul>
  <li><a href="https://github.com/microsoft/winget-pkgs/pull/2941">#2941</a>: 支持通过 winget 来安装 xmake</li>
  <li>添加 xmake-tinyc 安装包，内置tinyc编译器，支持windows上无msvc环境也可直接编译c代码</li>
  <li>添加 tinyc 编译工具链</li>
  <li>添加 emcc (emscripten) 编译工具链去编译 asm.js 和 WebAssembly</li>
  <li><a href="https://github.com/xmake-io/xmake/issues/947">#947</a>: 通过 <code class="highlighter-rouge">xmake g --network=private</code> 配置设置私有网络模式，避免远程依赖包下载访问外网导致编译失败</li>
</ul>

<h3 id="改进">改进</h3>

<ul>
  <li><a href="https://github.com/xmake-io/xmake/issues/907">#907</a>: 改进msvc的链接器优化选项，生成更小的可执行程序</li>
  <li>改进ubuntu下Qt环境的支持</li>
  <li><a href="https://github.com/xmake-io/xmake/pull/918">#918</a>: 改进cuda11工具链的支持</li>
  <li>改进Qt支持，对通过 ubuntu/apt 安装的Qt sdk也进行了探测支持，并且检测效率也优化了下</li>
  <li>改进 CMake 工程文件生成器</li>
  <li><a href="https://github.com/xmake-io/xmake/issues/931">#931</a>: 改进导出包，支持导出所有依赖包</li>
  <li><a href="https://github.com/xmake-io/xmake/issues/930">#930</a>: 如果私有包定义没有版本定义，支持直接尝试下载包</li>
  <li><a href="https://github.com/xmake-io/xmake/issues/927">#927</a>: 改进android ndk，支持arm/thumb指令模式切换</li>
  <li>改进 trybuild/cmake 支持 Android/Mingw/iPhoneOS/WatchOS 工具链</li>
</ul>

<h3 id="bugs修复">Bugs修复</h3>

<ul>
  <li><a href="https://github.com/xmake-io/xmake/issues/903">#903</a>: 修复vcpkg包安装失败问题</li>
  <li><a href="https://github.com/xmake-io/xmake/issues/912">#912</a>: 修复自定义工具链</li>
  <li><a href="https://github.com/xmake-io/xmake/issues/914">#914</a>: 修复部分aarch64设备上运行lua出现bad light userdata pointer问题</li>
</ul>


        </article>
        <hr>

        <!-- baidu ads -->
        

        <!-- reward -->
        <div style="text-align: center;">
            <button id="rewardButton" disable="enable" onclick="var qr = document.getElementById('QR'); if (qr.style.display === 'none') {qr.style.display='block';} else {qr.style.display='none'}">
              <span>赏</span>
            </button>
            <div id="QR" style="display: none;">
                <div id="wechat" style="display: inline-block">
                  <img id="wechat_qr" src="/static/img/weixin.png" alt="WeChat Pay"/>
                  <p>微信打赏</p>
                </div>
                <div id="alipay" style="display: inline-block">
                  <img id="alipay_qr" src="/static/img/alipay.png" alt="Alipay"/>
                  <p>支付宝打赏</p>
                </div>
            </div>
        </div>

        
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
                    
                    <h2 id="english">English</h2>
                    <ul>
                    
                    <li class="relatedPost">
                        <a href="/2020/09/14/xmake-update-v2.3.7/">xmake v2.3.7 released, Add tinyc and emscripten toolchains
                        
                        </a>
                    </li>
                    
                    
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
            
                
            
        
            
            
                
            
        
            
            
                
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
            
            
                
            
        
            
        
        
            </ul>
        

        
        
            
        
            
            
            
                
                    
                        
                        <h2 id="similar_posts">相关文章</h2>
                        <ul>
                        
                        <li class="relatedPost">
                            <a href="/cn/2021/12/17/xmake-update-v2.6.2/">xmake v2.6.2 发布，新增 Linux 内核驱动模块构建支持
                            
                            </a>
                        </li>
                        
                        
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
            
        
            
        
            
            
            
                
                    
                        
                        <li class="relatedPost">
                            <a href="/cn/2021/12/03/xmake-update-v2.6.1/">xmake v2.6.1 发布，使用 Lua5.4 运行时，Rust 和 C++ 混合编译支持
                            
                            </a>
                        </li>
                        
                        
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
            
        
            
        
            
            
            
                
                    
                        
                        <li class="relatedPost">
                            <a href="/cn/2021/10/30/xmake-update-v2.5.9/">xmake v2.5.9 发布，改进 C++20 模块，并支持 Nim, Keil MDK 和 Unity Build
                            
                            </a>
                        </li>
                        
                        
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
            
        
            
        
            
            
            
                
                    
                        
                        <li class="relatedPost">
                            <a href="/cn/2021/10/08/xmake-update-v2.5.8/">xmake v2.5.8 发布，新增 Pascal/Swig 程序和 Lua53 运行时支持
                            
                            </a>
                        </li>
                        
                        
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
            
        
            
        
            
            
            
                
                    
                        
                        <li class="relatedPost">
                            <a href="/cn/2021/08/29/xmake-update-v2.5.7/">xmake v2.5.7 发布，包依赖锁定和 Vala/Metal 语言编译支持
                            
                            </a>
                        </li>
                        
                        
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            
            
        
        
            </ul>
        

        <div class="post-recent">
    <div class="pre">

        

        

        
        
        

        

        

        
        
        <p><strong>上一篇</strong> <a href="/cn/2020/07/28/xmake-update-v2.3.6/">xmake v2.3.6 发布, 新增fortran编译支持</a></p>
        
    </div>

    <div class="nex">

        

        

        
        
        

        

        

        
        
        <p><strong>下一篇</strong> <a href="/cn/2020/10/09/xmake-course-build-c-projects/">xmake 官方入门课程上线: Xmake 带你轻松构建 C/C++ 项目</a></p>
        
    </div>
</div>


        <h2 id="comments">评论</h2>
        






<div id="gitalk-container"></div>
<link rel="stylesheet" href="/css/gitalk.css">
<script src="/js/gitalk.min.js"></script>

<script>
const gitalk = new Gitalk({
  clientID: '73946dc1d9e2276ad0da',
  clientSecret: '12a3cb94361ba3ebc6ecb68cf80d592bfaa8106d',
  repo: 'tboox.github.io',
  owner: 'waruqi',
  admin: ['waruqi'],
  id: location.pathname,       
  language: 'zh-CN',
  distractionFreeMode: false  
})

gitalk.render('gitalk-container')
</script>





    </div>
    <button class="anchor"><i class="fa fa-anchor"></i></button>
    <div class="right">
        <div class="wrap">

            <!-- codefund ads -->
            

            <!-- Content -->
            <div class="side content">
                <div>
                    内容
                </div>
                <ul id="content-side" class="content-ul">
                    <li><a href="#english">English</a></li>
                    <li><a href="#similar_posts">相关文章</a></li>
                    <li><a href="#comments">评论</a></li>
                </ul>
            </div>


            <!-- baidu ads -->
            
            
            <br>
            <div class="side">
                <div>
                    <i class="fa fa-external-link"></i>
                    链接
                </div>
                <ul class="content-ul">
                  <li><a href="http://github.com/waruqi/tbox">tbox</a></li>
                  <li><a href="http://www.xmake.io">xmake</a></li>
                  <li><a href="https://github.com/waruqi">github</a></li>
                </ul>
            </div> 

            <!-- xmake courses -->
            <br>
            <div class="side">
                <div>
                    <i class="fa fa-external-link"></i>
                    xmake 入门课程
                </div>
                <a href="https://xmake.io/#/zh-cn/about/course" target="_blank">
                <img src="/static/img/xmake-course.png" alt="course" width="256" height="193">
                </a>
            </div>

            <!-- qqgroup -->
            <br>
            <div class="side">
                <div>
                    <i class="fa fa-external-link"></i>
                    技术交流群（QQ）
                </div>
                <img src="/static/img/qqgroup.png" alt="qqgroup" width="256" height="284">
            </div> 

            <!-- google ads -->
            

            <!-- baidu ads -->
            

        </div>
    </div>

    <!-- baidu ads -->
    
</div>
<script>
/**
 * target _blank
 */
(function() {
    var aTags = document.querySelectorAll('article a:not([id])')
    for (var i = 0; i < aTags.length; i++) {
        aTags[i].setAttribute('target', '_blank')
    }
}());
</script>
<script src="/js/pageContent.js " charset="utf-8"></script>



    <footer class="site-footer">
    <div class="wrapper">
        <p class="description">
             Copyright (c) 2016-2020 tboox.org 
        </p>
        <p class="contact">
            
            <a href="https://github.com/waruqi" title="GitHub"><i class="fa fa-github" aria-hidden="true"></i></a> 
             
            
            <a href="mailto:waruqi@gmail.com" title="email"><i class="fa fa-envelope-o" aria-hidden="true"></i></a> 
            
            
            <a href="https://twitter.com/waruqi" title="Twitter"><i class="fa fa-twitter" aria-hidden="true"></i></a> 
            
            <a href="/feed.xml" title="feed"><i class="fa fa-feed" aria-hidden="true"></i></a> 
        </p>
        <p class="power">
            <span>
                Site powered by <a href="https://jekyllrb.com/">Jekyll</a> & <a href="https://github.com/Gaohaoyang">HyG</a> & <a href="https://pages.github.com/">Github Pages</a>.
            </span>
        </p>
    </div>
</footer>

    <div class="back-to-top">
    <a href="#top" class="scroll">
        <i class="fa fa-arrow-up" aria-hidden="true"></i>
    </a>
</div>

    <script src=" /js/main.js " charset="utf-8"></script>
    <script src=" /js/scroll.min.js " charset="utf-8"></script>
  </body>

</html>
